Upstream shapedetection tests to WPT Moved shapedetection tests under third_party/blink/web_tests/shapedetection/, third_party/blink/web_tests/fast/shapedetection/, third_party/blink/web_tests/http/tests/shapedetection/, to third_party/blink/web_tests/external/wpt/shape-detection/, excludes the Text detection part as which is still a sister informative specification of Shape Detection. Copyed third_party/blink/web_tests/shapedetection/resources/big-buffer-helpers.js to wpt/shape-detection/resources/shapedetection-helpers.js and extended it by adding a wrapper promise test, detection_test. Moved third_party/blink/web_tests/shapedetection/resources/mock-barcodedetection.js and third_party/blink/web_tests/shapedetection/resources/mock-facedetection.js to wpt/resources/chromium/ Used the testharness from wpt/ and rewrited tests to remove use of generate_tests as which is discouraged in wpt. Rewrite detection-on-worker.html as detection-on-worker.worker.js by using wpt preferred worker test framework. Rename detection-support.html as detection-getSupportedFormats.html as *-support.html is treated as support file rather than test file in wpt. No new tests have been added. BUG=932382 Change-Id: I321e7b9f986f407b83325bb4c6bdc366c9769264 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1510754 Commit-Queue: Wanming Lin <wanming.lin@intel.com> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Reilly Grant <reillyg@chromium.org> Cr-Commit-Position: refs/heads/master@{#641504} 
diff --git a/shape-detection/shapedetection-empty-input.html b/shape-detection/shapedetection-empty-input.html new file mode 100644 index 0000000..601c992 --- /dev/null +++ b/shape-detection/shapedetection-empty-input.html 
@@ -0,0 +1,33 @@ +<!DOCTYPE html> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script> + +// This test verifies *Detector.detect() returns an empty list when fed with +// an empty HTMLImageElement. +const emptyInputTests = + [ + { + createDetector: () => { return new FaceDetector(); }, + name: "Face - detect(empty)" + }, + { + createDetector: () => { return new BarcodeDetector(); }, + name: "Barcode - detect(empty)" + } + ]; + +for (let emptyInputTest of emptyInputTests) { + promise_test(async t =>{ + const img = new Image(); + const imgWatcher = new EventWatcher(t, img, ["load", "error"]); + img.src = ""; + await imgWatcher.wait_for("error"); + + const detector = emptyInputTest.createDetector(); + const detectionResult = await detector.detect(img); + assert_equals(detectionResult.length, 0); + }, emptyInputTest.name); +} + +</script> \ No newline at end of file